// pages/register/register.js
import { volunteer_register } from '../../../utils/login_register';
import SHA256 from 'js-sha256'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    account: '',
    password: '',
    confirmPassword: '',
    countdown: 0,
    showError: false,
    errorMsg: '',
    agreeTerms: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 输入账号
   */
  inputAccount(e) {
    this.setData({
      account: e.detail.value,
      showError: false
    })
  },

  /**
   * 输入密码
   */
  inputPassword(e) {
    this.setData({
      password: e.detail.value,
      showError: false
    })
  },

  /**
   * 输入确认密码
   */
  inputConfirmPassword(e) {
    this.setData({
      confirmPassword: e.detail.value,
      showError: false
    })
  },

  /**
   * 输入验证码
   */
  // inputVerifyCode(e) {
  //   this.setData({
  //     verifyCode: e.detail.value,
  //     showError: false
  //   })
  // },


  /**
   * 切换同意条款
   */
  toggleAgree() {
    this.setData({
      agreeTerms: !this.data.agreeTerms,
      showError: false
    })
  },

  /**
   * 注册
   */
  register() {
    const { account, password, confirmPassword, agreeTerms } = this.data
    
    // 校验输入
    if (!account) {
      this.setData({
        showError: true,
        errorMsg: '请输入账号'
      })
      return
    }
    
      // if (!/^1\d{10}$/.test(account)) {
    //   this.setData({
    //     showError: true,
    //     errorMsg: '请输入正确的账号'
    //   })
    //   return
    // }
    
    // if (!verifyCode) {
    //   this.setData({
    //     showError: true,
    //     errorMsg: '请输入验证码'
    //   })
    //   return
    // }
    
    if (!password) {
      this.setData({
        showError: true,
        errorMsg: '请输入密码'
      })
      return
    }
    
    if (password.length < 6) {
      this.setData({
        showError: true,
        errorMsg: '密码至少6位'
      })
      return
    }
    
    if (password !== confirmPassword) {
      this.setData({
        showError: true,
        errorMsg: '两次密码不一致'
      })
      return
    }
    
    if (!agreeTerms) {
      this.setData({
        showError: true,
        errorMsg: '请阅读并同意用户协议和隐私政策'
      })
      return
    }
    const data = {
      'UserName': account,
      'Password': SHA256(password),
      'Role': 'Volunteer'
    }
    // 调用注册接口
    volunteer_register(data).then(res => {
      // console.log(res)
      if (res.code === 200) {
        wx.showToast({
          title: '注册成功',
          icon: 'success',
          duration: 2000
        })
        //跳转到登录页面
        wx.navigateBack()
      }else{
        wx.showToast({
          title: res.message || '账号重复',
          icon: 'none',
          duration: 2000
        })
      }
    }).catch(err => {
      // console.log(err)
      wx.showToast({
        title: '注册失败，请重试',
        icon: 'none',
        duration: 2000
      })
    })
    
  },

  /**
   * 跳转到登录页面
   */
  goToLogin() {
    wx.navigateBack()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
}) 